import {request} from "../../request/index.js"
Page({
  data:{
    forumInfo:[],
    attenCon:'关注',
    currentIndex:1,
    nickName:'',
    // 点赞
    // hasChange: false,
    show:false
    },
  onLoad(){
    this.getForumInfo();
    // 获取缓存中用户昵称
    let nickName = wx.getStorageSync("nickName");
    this.setData({
      nickName:nickName
    })
    
  },
  async getForumInfo(){
    const getForumInfo = await request({url:"/forumInfo",method:'post'});
    // console.log(getForumInfo.data.result);
    let forumInfo = getForumInfo.data.result
    // console.log(forumInfo[0].forumname);
    
    // 将评论信息加入缓存
    // 先判断缓存中是否有信息
    // 再判断缓存中信息与数据库信息是否一致比较长度
    // 一致则用缓存信息 不一致用数据库信息
    let forumInfoSync = wx.getStorageSync("forumInfo")||[];
    console.log(forumInfoSync.length==forumInfo.length);
    if(forumInfoSync.length==forumInfo.length){
      // 长度一致 数据未更新
      this.setData({
        forumInfo:forumInfoSync
      })
    }else{
      // 数据改变
      //  得到评论信息后 添加是否关注属性isAttention
    for(var i = 0;i<forumInfo.length;i++){
      // 关注
      forumInfo[i].isAttention=0;
      forumInfo[i].index=i;
      // 点赞
      forumInfo[i].hasChange=false;
      forumInfo[i].show=false;
    };
    this.setData({
      forumInfo:forumInfo
    })
      // 数据更新了 或者无缓存数据
      // 存入缓存
      wx.setStorageSync("forumInfo",forumInfo);
      this.setData({
        forumInfo:forumInfo
      })
    }
    
  },
  // 点击关注
  async handleAttention(e){
    // 按钮背景色改变
    console.log(e);
    
    const isAttention = e.currentTarget.dataset.isattention;
    const index = e.currentTarget.dataset.index;
    const forumname = e.currentTarget.dataset.forumname;
    console.log(isAttention);
    let that = this;
    if(isAttention==0){
      // 未关注
      // 设为关注 即isAttention==1 改变样式
      that.setData({
        [`forumInfo[${index}].isAttention`]:1
      })
      // 发请求 将关注的用户存入interest关注表
    const addInterest = await request({url:"/addInterest",method:'Post',data:{forumname}});
    // 修改缓存中userInfo 防止刷新后样式丢失
    // console.log(this.data.forumInfo);
    wx.setStorageSync("forumInfo",this.data.forumInfo);
    }else{
      // 取消关注
      that.setData({
        [`forumInfo[${index}].isAttention`]:0
      })
      // 发请求 将关注的用户从interest关注表中删除
      // 取消关注
      const res=await request({url:"/deleteInterest",method:"POST",data:{forumname}});
      // 修改缓存中userInfo 防止刷新后样式丢失
    wx.setStorageSync("forumInfo",this.data.forumInfo);
    }
  },
 async onShow(){
  this.getForumInfo();
 },
  handleExpress(){
    wx.navigateTo({
      url: '/pages/express/express'
    })
  },
  // 点赞
  praiseThis(e) {
    const index = e.currentTarget.dataset.index;
    const hasChange = e.currentTarget.dataset.haschange;
    // console.log(index);
    // console.log(hasChange);
    // console.log(e);
    let that = this;
    if(hasChange==true){
      // 已点赞 再点击取消点赞
      that.setData({
        [`forumInfo[${index}].hasChange`]:false,
        [`forumInfo[${index}].show`]:false
      });
      // 修改缓存中userInfo 防止刷新后样式丢失
      wx.setStorageSync("forumInfo",this.data.forumInfo);
    }else {
        // 没点赞 点击为点赞
        that.setData({
          [`forumInfo[${index}].hasChange`]:true,
          [`forumInfo[${index}].show`]:true
        });
        // 修改缓存中userInfo 防止刷新后样式丢失
        wx.setStorageSync("forumInfo",this.data.forumInfo);
      }
    }
   
   


})